perm filename FOO.BAR[QLA,LSP]  blob 
sn#833486 filedate 1987-02-03 generic text, type C, neo UTF8
 
COMMENT ā   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	(m-defun m-equal (x y)
C00004 ENDMK
Cā;
(m-defun m-equal (x y)
	 (qcatch 'm-equal
		 (m-equal-1 x y)))
(m-defun m-equal-1 (x y)
	 (cond ((eq x y))
	       ((or (atom x)
		    (atom y))
		(throw 'm-equal ()))
	       (t
		((lambda (f g)
			 (f)(g) t)
		 (qlambda t ()(m-equal-1 (car x)(car y)))
		 (qlambda t ()(m-equal-1 (cdr x)(cdr y)))))))
(m-defun m-equal (x y)
	 (qcatch 'm-equal
		 (labels ((equal
			   (lambda (x y)
				   (cond ((eq x y))
					 ((or (atom x)
					      (atom y))
					  (throw 'm-equal ()))
					 (t
					  (funcall
					   (qlambda t ()
						    (m-equal (car x)(car y))))
					  (funcall 
					   (qlambda t ()
						    (m-equal (cdr x)(cdr y))))
					  t)))))
			 (equal x y))))
(setq l1
      '((d . c) . (d . f))
      l2
      '((a . c) . (d . f)))
(m-equal l1 l2))